/*
 ------------------------------------------------------------------------------
 Copyright (C) 1996-2001 Id Software, Inc.

 This file is part of the Quake source code.

 The Quake source code is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or (at your
 option) any later version.

 The Quake source code is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 more details.

 You should have received a copy of the GNU General Public License along with
 the Quake source code; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 ------------------------------------------------------------------------------
*/


//
// win_local.h - local header to all windows files
//


#ifndef __WIN_LOCAL_H__
#define __WIN_LOCAL_H__


#ifndef _WIN32
#error "You should not be including this file on this platform"
#endif


#include <winsock.h>

#include "../common/common.h"
#include "resource.h"


struct sysWin_t {
	HINSTANCE		hInstance;

	HICON			hIcon;

	HWND			hWndMain;
	HWND			hWndEditor;

	bool			isActive;
	bool			isMinimized;
	bool			isFullscreen;

	int				msgTime;

	int				cpuId;
	int				cpuCount;
	char			cpuString[256];

	longlong		ticksPerSecond;

	char			currentDirectory[MAX_PATH_LENGTH];
};

extern sysWin_t			sys;

void			Sys_CreateConsole ();
void			Sys_DestroyConsole ();

void			Sys_ConsolePrint (const char *text);
void			Sys_ConsoleError (const char *text);

LRESULT CALLBACK WIN_MainWindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK WIN_FakeWindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);


#endif	// __WIN_LOCAL_H__